import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JDBCInsert {
    public static void main(String[] args) throws SQLException {

        // 1. 创建"数据源" (Datasource)
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=UTF-8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("1234");

        // 2. 和数据库服务器建立连接
        Connection connection = dataSource.getConnection();

        // 3. 能够构造一个操作数据库的 sql 语句
        String sql = "insert into students values('张三三',18)";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);

        // 4. 执行 sql, 把刚才解析好的语句发给数据库服务器了.
        //    返回值是一个 int 类型, 表示这个操作影响了几行数据.
        int n = preparedStatement.executeUpdate();
        System.out.println("n = "+ n);

        //5. 执行完毕, 进行收尾操作. 释放前面创建的各种资源.
        preparedStatement.close();
        connection.close();
    }
}
